Freeform computer modeling applications, such as CAD, CAM, CAE and other similar systems, enable operators to create and modify curves and surfaces. One principal use of these systems is in the design of 2D or 3D shapes which are used for animation or manufacturing purposes. In a typical shape, such as a side panel of an automobile, the electronic representation of the component is made of several separate sub-elements which are combined by the designer. A significant challenge facing designers of such multi-part shapes is to obtain high quality connections between the curves and the surfaces in the various sub-elements. In particular, when two different curves or curved surfaces must be joined together, the designer is often required to make the transition between one curve and the other as smooth as possible. If the transition is abrupt, the quality of the surface in the manufactured product may not be visual appealing.
The quality of a connection can be measured at several levels of continuity, conventionally designated as G0 through G3. Briefly, a connection which is G0 has positional continuity resulting from a common extremity or border, i.e., the elements are connected. A G1 continuity exists when tangents at the junction point are co-linear. A lack of G1 continuity produces an edge in the combined curve or surface. Two curves or surfaces are G2 continuous at their junction when there is a G1 continuity and the amplitudes of curvature are equal at the junction point. Finally, a G3 continuity exists at a curve or surface junction when the tangents of the curvature envelopes are co-linear at the junction point. If joined curves or surfaces are not G2 and G3 continuous, reflections from the modeled object can contain visual artifacts, such as unexpected bends or kinks, which could detract from the overall appearance.
In conventional CAD systems, continuity between curves and surfaces is initially evaluated visually by the designer. In addition to viewing a representation of the curve or surface on a display, a designer can also utilize a “reflect curve” display which shows how an array of parallel lines would appear if reflected from joined surfaces or from a surface extruded from joined curves. This visualization technique, also known as a “Zebra” analysis, shows disjointed stripes at a G0 discontinuity. When there is a G1 discontinuity, the surfaces show stripes that may be continuous, but have kinks at the junction. Surfaces having a G2 continuous junction show generally smoothly flowing stripes but there can be more subtle defects caused by a G3 discontinuity.
While it is often essential that designers of automobiles, consumer goods, and other products develop models which have surface junctions that are at least G2 continuous, it can be difficult to determine when this level of continuity is reached. A reflect curve analysis provides some degree of feedback but the process must still rely upon the operator's visual judgment about the quality of the reflect curves. Although adequate for assessing G0 and G1 continuity, it can be difficult to determine when a G2 continuity is reached using reflect curve analysis and even more difficult to assess how close joined curves or surfaces are to being G3 continuous.
Moreover, a perceived continuity between joined curves or surfaces might also be caused by visualization artifacts, such as poor display resolution or round off errors at very large zoom factors, even when the junction is not continuous. Such an error can be costly to correct since it might not be detected until late in the design phase. In addition, for some shapes, high quality connections are impossible to obtain and thus some level of discontinuity at the junction points is permissible. However, conventional modeling tools provide insufficient feedback to permit a designer to evaluate how far from “high quality” a connection is and whether it meets required minimum levels of continuity.
Accordingly, there is a need for an improved method to indicate the quality of curve connections to permit highly continuous curves to be more easily defined.